class A:  
    def foo(self):  
        print("A.foo()")  
  
class B(A):  
    def foo(self):  
        super().foo()  
        print("B.foo()")  
  
class C(A):  
    def foo(self):  
        super().foo()  
        print("C.foo()")  
  
# 在 Python 中，类层次结构是从右到左定义的，因此此时相当于C是基类，B扩展了C，所以C先执行
class D(B, C):  
    def foo(self):  
        super().foo()  
        print("D.foo()")
d=D()
d.foo()